package cn.mineserv.video.videoordersystem.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class MediaExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public MediaExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCTime(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Time(value.getTime()), property);
        }

        protected void addCriterionForJDBCTime(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Time> timeList = new ArrayList<>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                timeList.add(new java.sql.Time(iter.next().getTime()));
            }
            addCriterion(condition, timeList, property);
        }

        protected void addCriterionForJDBCTime(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Time(value1.getTime()), new java.sql.Time(value2.getTime()), property);
        }

        public Criteria andMediaIdIsNull() {
            addCriterion("media_id is null");
            return (Criteria) this;
        }

        public Criteria andMediaIdIsNotNull() {
            addCriterion("media_id is not null");
            return (Criteria) this;
        }

        public Criteria andMediaIdEqualTo(Integer value) {
            addCriterion("media_id =", value, "mediaId");
            return (Criteria) this;
        }

        public Criteria andMediaIdNotEqualTo(Integer value) {
            addCriterion("media_id <>", value, "mediaId");
            return (Criteria) this;
        }

        public Criteria andMediaIdGreaterThan(Integer value) {
            addCriterion("media_id >", value, "mediaId");
            return (Criteria) this;
        }

        public Criteria andMediaIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("media_id >=", value, "mediaId");
            return (Criteria) this;
        }

        public Criteria andMediaIdLessThan(Integer value) {
            addCriterion("media_id <", value, "mediaId");
            return (Criteria) this;
        }

        public Criteria andMediaIdLessThanOrEqualTo(Integer value) {
            addCriterion("media_id <=", value, "mediaId");
            return (Criteria) this;
        }

        public Criteria andMediaIdIn(List<Integer> values) {
            addCriterion("media_id in", values, "mediaId");
            return (Criteria) this;
        }

        public Criteria andMediaIdNotIn(List<Integer> values) {
            addCriterion("media_id not in", values, "mediaId");
            return (Criteria) this;
        }

        public Criteria andMediaIdBetween(Integer value1, Integer value2) {
            addCriterion("media_id between", value1, value2, "mediaId");
            return (Criteria) this;
        }

        public Criteria andMediaIdNotBetween(Integer value1, Integer value2) {
            addCriterion("media_id not between", value1, value2, "mediaId");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Integer value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Integer value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Integer value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Integer value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Integer> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Integer> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Integer value1, Integer value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIsNull() {
            addCriterion("category_id is null");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIsNotNull() {
            addCriterion("category_id is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryIdEqualTo(Integer value) {
            addCriterion("category_id =", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotEqualTo(Integer value) {
            addCriterion("category_id <>", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdGreaterThan(Integer value) {
            addCriterion("category_id >", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("category_id >=", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdLessThan(Integer value) {
            addCriterion("category_id <", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdLessThanOrEqualTo(Integer value) {
            addCriterion("category_id <=", value, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdIn(List<Integer> values) {
            addCriterion("category_id in", values, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotIn(List<Integer> values) {
            addCriterion("category_id not in", values, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdBetween(Integer value1, Integer value2) {
            addCriterion("category_id between", value1, value2, "categoryId");
            return (Criteria) this;
        }

        public Criteria andCategoryIdNotBetween(Integer value1, Integer value2) {
            addCriterion("category_id not between", value1, value2, "categoryId");
            return (Criteria) this;
        }

        public Criteria andHistoryIdIsNull() {
            addCriterion("history_id is null");
            return (Criteria) this;
        }

        public Criteria andHistoryIdIsNotNull() {
            addCriterion("history_id is not null");
            return (Criteria) this;
        }

        public Criteria andHistoryIdEqualTo(Integer value) {
            addCriterion("history_id =", value, "historyId");
            return (Criteria) this;
        }

        public Criteria andHistoryIdNotEqualTo(Integer value) {
            addCriterion("history_id <>", value, "historyId");
            return (Criteria) this;
        }

        public Criteria andHistoryIdGreaterThan(Integer value) {
            addCriterion("history_id >", value, "historyId");
            return (Criteria) this;
        }

        public Criteria andHistoryIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("history_id >=", value, "historyId");
            return (Criteria) this;
        }

        public Criteria andHistoryIdLessThan(Integer value) {
            addCriterion("history_id <", value, "historyId");
            return (Criteria) this;
        }

        public Criteria andHistoryIdLessThanOrEqualTo(Integer value) {
            addCriterion("history_id <=", value, "historyId");
            return (Criteria) this;
        }

        public Criteria andHistoryIdIn(List<Integer> values) {
            addCriterion("history_id in", values, "historyId");
            return (Criteria) this;
        }

        public Criteria andHistoryIdNotIn(List<Integer> values) {
            addCriterion("history_id not in", values, "historyId");
            return (Criteria) this;
        }

        public Criteria andHistoryIdBetween(Integer value1, Integer value2) {
            addCriterion("history_id between", value1, value2, "historyId");
            return (Criteria) this;
        }

        public Criteria andHistoryIdNotBetween(Integer value1, Integer value2) {
            addCriterion("history_id not between", value1, value2, "historyId");
            return (Criteria) this;
        }

        public Criteria andFavoriteIdIsNull() {
            addCriterion("favorite_id is null");
            return (Criteria) this;
        }

        public Criteria andFavoriteIdIsNotNull() {
            addCriterion("favorite_id is not null");
            return (Criteria) this;
        }

        public Criteria andFavoriteIdEqualTo(Integer value) {
            addCriterion("favorite_id =", value, "favoriteId");
            return (Criteria) this;
        }

        public Criteria andFavoriteIdNotEqualTo(Integer value) {
            addCriterion("favorite_id <>", value, "favoriteId");
            return (Criteria) this;
        }

        public Criteria andFavoriteIdGreaterThan(Integer value) {
            addCriterion("favorite_id >", value, "favoriteId");
            return (Criteria) this;
        }

        public Criteria andFavoriteIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("favorite_id >=", value, "favoriteId");
            return (Criteria) this;
        }

        public Criteria andFavoriteIdLessThan(Integer value) {
            addCriterion("favorite_id <", value, "favoriteId");
            return (Criteria) this;
        }

        public Criteria andFavoriteIdLessThanOrEqualTo(Integer value) {
            addCriterion("favorite_id <=", value, "favoriteId");
            return (Criteria) this;
        }

        public Criteria andFavoriteIdIn(List<Integer> values) {
            addCriterion("favorite_id in", values, "favoriteId");
            return (Criteria) this;
        }

        public Criteria andFavoriteIdNotIn(List<Integer> values) {
            addCriterion("favorite_id not in", values, "favoriteId");
            return (Criteria) this;
        }

        public Criteria andFavoriteIdBetween(Integer value1, Integer value2) {
            addCriterion("favorite_id between", value1, value2, "favoriteId");
            return (Criteria) this;
        }

        public Criteria andFavoriteIdNotBetween(Integer value1, Integer value2) {
            addCriterion("favorite_id not between", value1, value2, "favoriteId");
            return (Criteria) this;
        }

        public Criteria andReportIdIsNull() {
            addCriterion("report_id is null");
            return (Criteria) this;
        }

        public Criteria andReportIdIsNotNull() {
            addCriterion("report_id is not null");
            return (Criteria) this;
        }

        public Criteria andReportIdEqualTo(Integer value) {
            addCriterion("report_id =", value, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdNotEqualTo(Integer value) {
            addCriterion("report_id <>", value, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdGreaterThan(Integer value) {
            addCriterion("report_id >", value, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("report_id >=", value, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdLessThan(Integer value) {
            addCriterion("report_id <", value, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdLessThanOrEqualTo(Integer value) {
            addCriterion("report_id <=", value, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdIn(List<Integer> values) {
            addCriterion("report_id in", values, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdNotIn(List<Integer> values) {
            addCriterion("report_id not in", values, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdBetween(Integer value1, Integer value2) {
            addCriterion("report_id between", value1, value2, "reportId");
            return (Criteria) this;
        }

        public Criteria andReportIdNotBetween(Integer value1, Integer value2) {
            addCriterion("report_id not between", value1, value2, "reportId");
            return (Criteria) this;
        }

        public Criteria andMediaNameIsNull() {
            addCriterion("media_name is null");
            return (Criteria) this;
        }

        public Criteria andMediaNameIsNotNull() {
            addCriterion("media_name is not null");
            return (Criteria) this;
        }

        public Criteria andMediaNameEqualTo(String value) {
            addCriterion("media_name =", value, "mediaName");
            return (Criteria) this;
        }

        public Criteria andMediaNameNotEqualTo(String value) {
            addCriterion("media_name <>", value, "mediaName");
            return (Criteria) this;
        }

        public Criteria andMediaNameGreaterThan(String value) {
            addCriterion("media_name >", value, "mediaName");
            return (Criteria) this;
        }

        public Criteria andMediaNameGreaterThanOrEqualTo(String value) {
            addCriterion("media_name >=", value, "mediaName");
            return (Criteria) this;
        }

        public Criteria andMediaNameLessThan(String value) {
            addCriterion("media_name <", value, "mediaName");
            return (Criteria) this;
        }

        public Criteria andMediaNameLessThanOrEqualTo(String value) {
            addCriterion("media_name <=", value, "mediaName");
            return (Criteria) this;
        }

        public Criteria andMediaNameLike(String value) {
            addCriterion("media_name like", value, "mediaName");
            return (Criteria) this;
        }

        public Criteria andMediaNameNotLike(String value) {
            addCriterion("media_name not like", value, "mediaName");
            return (Criteria) this;
        }

        public Criteria andMediaNameIn(List<String> values) {
            addCriterion("media_name in", values, "mediaName");
            return (Criteria) this;
        }

        public Criteria andMediaNameNotIn(List<String> values) {
            addCriterion("media_name not in", values, "mediaName");
            return (Criteria) this;
        }

        public Criteria andMediaNameBetween(String value1, String value2) {
            addCriterion("media_name between", value1, value2, "mediaName");
            return (Criteria) this;
        }

        public Criteria andMediaNameNotBetween(String value1, String value2) {
            addCriterion("media_name not between", value1, value2, "mediaName");
            return (Criteria) this;
        }

        public Criteria andMediaCoverIsNull() {
            addCriterion("media_cover is null");
            return (Criteria) this;
        }

        public Criteria andMediaCoverIsNotNull() {
            addCriterion("media_cover is not null");
            return (Criteria) this;
        }

        public Criteria andMediaCoverEqualTo(String value) {
            addCriterion("media_cover =", value, "mediaCover");
            return (Criteria) this;
        }

        public Criteria andMediaCoverNotEqualTo(String value) {
            addCriterion("media_cover <>", value, "mediaCover");
            return (Criteria) this;
        }

        public Criteria andMediaCoverGreaterThan(String value) {
            addCriterion("media_cover >", value, "mediaCover");
            return (Criteria) this;
        }

        public Criteria andMediaCoverGreaterThanOrEqualTo(String value) {
            addCriterion("media_cover >=", value, "mediaCover");
            return (Criteria) this;
        }

        public Criteria andMediaCoverLessThan(String value) {
            addCriterion("media_cover <", value, "mediaCover");
            return (Criteria) this;
        }

        public Criteria andMediaCoverLessThanOrEqualTo(String value) {
            addCriterion("media_cover <=", value, "mediaCover");
            return (Criteria) this;
        }

        public Criteria andMediaCoverLike(String value) {
            addCriterion("media_cover like", value, "mediaCover");
            return (Criteria) this;
        }

        public Criteria andMediaCoverNotLike(String value) {
            addCriterion("media_cover not like", value, "mediaCover");
            return (Criteria) this;
        }

        public Criteria andMediaCoverIn(List<String> values) {
            addCriterion("media_cover in", values, "mediaCover");
            return (Criteria) this;
        }

        public Criteria andMediaCoverNotIn(List<String> values) {
            addCriterion("media_cover not in", values, "mediaCover");
            return (Criteria) this;
        }

        public Criteria andMediaCoverBetween(String value1, String value2) {
            addCriterion("media_cover between", value1, value2, "mediaCover");
            return (Criteria) this;
        }

        public Criteria andMediaCoverNotBetween(String value1, String value2) {
            addCriterion("media_cover not between", value1, value2, "mediaCover");
            return (Criteria) this;
        }

        public Criteria andMediaIntroIsNull() {
            addCriterion("media_intro is null");
            return (Criteria) this;
        }

        public Criteria andMediaIntroIsNotNull() {
            addCriterion("media_intro is not null");
            return (Criteria) this;
        }

        public Criteria andMediaIntroEqualTo(String value) {
            addCriterion("media_intro =", value, "mediaIntro");
            return (Criteria) this;
        }

        public Criteria andMediaIntroNotEqualTo(String value) {
            addCriterion("media_intro <>", value, "mediaIntro");
            return (Criteria) this;
        }

        public Criteria andMediaIntroGreaterThan(String value) {
            addCriterion("media_intro >", value, "mediaIntro");
            return (Criteria) this;
        }

        public Criteria andMediaIntroGreaterThanOrEqualTo(String value) {
            addCriterion("media_intro >=", value, "mediaIntro");
            return (Criteria) this;
        }

        public Criteria andMediaIntroLessThan(String value) {
            addCriterion("media_intro <", value, "mediaIntro");
            return (Criteria) this;
        }

        public Criteria andMediaIntroLessThanOrEqualTo(String value) {
            addCriterion("media_intro <=", value, "mediaIntro");
            return (Criteria) this;
        }

        public Criteria andMediaIntroLike(String value) {
            addCriterion("media_intro like", value, "mediaIntro");
            return (Criteria) this;
        }

        public Criteria andMediaIntroNotLike(String value) {
            addCriterion("media_intro not like", value, "mediaIntro");
            return (Criteria) this;
        }

        public Criteria andMediaIntroIn(List<String> values) {
            addCriterion("media_intro in", values, "mediaIntro");
            return (Criteria) this;
        }

        public Criteria andMediaIntroNotIn(List<String> values) {
            addCriterion("media_intro not in", values, "mediaIntro");
            return (Criteria) this;
        }

        public Criteria andMediaIntroBetween(String value1, String value2) {
            addCriterion("media_intro between", value1, value2, "mediaIntro");
            return (Criteria) this;
        }

        public Criteria andMediaIntroNotBetween(String value1, String value2) {
            addCriterion("media_intro not between", value1, value2, "mediaIntro");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadIsNull() {
            addCriterion("media_download is null");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadIsNotNull() {
            addCriterion("media_download is not null");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadEqualTo(String value) {
            addCriterion("media_download =", value, "mediaDownload");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadNotEqualTo(String value) {
            addCriterion("media_download <>", value, "mediaDownload");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadGreaterThan(String value) {
            addCriterion("media_download >", value, "mediaDownload");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadGreaterThanOrEqualTo(String value) {
            addCriterion("media_download >=", value, "mediaDownload");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadLessThan(String value) {
            addCriterion("media_download <", value, "mediaDownload");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadLessThanOrEqualTo(String value) {
            addCriterion("media_download <=", value, "mediaDownload");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadLike(String value) {
            addCriterion("media_download like", value, "mediaDownload");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadNotLike(String value) {
            addCriterion("media_download not like", value, "mediaDownload");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadIn(List<String> values) {
            addCriterion("media_download in", values, "mediaDownload");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadNotIn(List<String> values) {
            addCriterion("media_download not in", values, "mediaDownload");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadBetween(String value1, String value2) {
            addCriterion("media_download between", value1, value2, "mediaDownload");
            return (Criteria) this;
        }

        public Criteria andMediaDownloadNotBetween(String value1, String value2) {
            addCriterion("media_download not between", value1, value2, "mediaDownload");
            return (Criteria) this;
        }

        public Criteria andMediaTagIsNull() {
            addCriterion("media_tag is null");
            return (Criteria) this;
        }

        public Criteria andMediaTagIsNotNull() {
            addCriterion("media_tag is not null");
            return (Criteria) this;
        }

        public Criteria andMediaTagEqualTo(String value) {
            addCriterion("media_tag =", value, "mediaTag");
            return (Criteria) this;
        }

        public Criteria andMediaTagNotEqualTo(String value) {
            addCriterion("media_tag <>", value, "mediaTag");
            return (Criteria) this;
        }

        public Criteria andMediaTagGreaterThan(String value) {
            addCriterion("media_tag >", value, "mediaTag");
            return (Criteria) this;
        }

        public Criteria andMediaTagGreaterThanOrEqualTo(String value) {
            addCriterion("media_tag >=", value, "mediaTag");
            return (Criteria) this;
        }

        public Criteria andMediaTagLessThan(String value) {
            addCriterion("media_tag <", value, "mediaTag");
            return (Criteria) this;
        }

        public Criteria andMediaTagLessThanOrEqualTo(String value) {
            addCriterion("media_tag <=", value, "mediaTag");
            return (Criteria) this;
        }

        public Criteria andMediaTagLike(String value) {
            addCriterion("media_tag like", value, "mediaTag");
            return (Criteria) this;
        }

        public Criteria andMediaTagNotLike(String value) {
            addCriterion("media_tag not like", value, "mediaTag");
            return (Criteria) this;
        }

        public Criteria andMediaTagIn(List<String> values) {
            addCriterion("media_tag in", values, "mediaTag");
            return (Criteria) this;
        }

        public Criteria andMediaTagNotIn(List<String> values) {
            addCriterion("media_tag not in", values, "mediaTag");
            return (Criteria) this;
        }

        public Criteria andMediaTagBetween(String value1, String value2) {
            addCriterion("media_tag between", value1, value2, "mediaTag");
            return (Criteria) this;
        }

        public Criteria andMediaTagNotBetween(String value1, String value2) {
            addCriterion("media_tag not between", value1, value2, "mediaTag");
            return (Criteria) this;
        }

        public Criteria andMediaUploadTimeIsNull() {
            addCriterion("media_upload_time is null");
            return (Criteria) this;
        }

        public Criteria andMediaUploadTimeIsNotNull() {
            addCriterion("media_upload_time is not null");
            return (Criteria) this;
        }

        public Criteria andMediaUploadTimeEqualTo(Date value) {
            addCriterion("media_upload_time =", value, "mediaUploadTime");
            return (Criteria) this;
        }

        public Criteria andMediaUploadTimeNotEqualTo(Date value) {
            addCriterion("media_upload_time <>", value, "mediaUploadTime");
            return (Criteria) this;
        }

        public Criteria andMediaUploadTimeGreaterThan(Date value) {
            addCriterion("media_upload_time >", value, "mediaUploadTime");
            return (Criteria) this;
        }

        public Criteria andMediaUploadTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("media_upload_time >=", value, "mediaUploadTime");
            return (Criteria) this;
        }

        public Criteria andMediaUploadTimeLessThan(Date value) {
            addCriterion("media_upload_time <", value, "mediaUploadTime");
            return (Criteria) this;
        }

        public Criteria andMediaUploadTimeLessThanOrEqualTo(Date value) {
            addCriterion("media_upload_time <=", value, "mediaUploadTime");
            return (Criteria) this;
        }

        public Criteria andMediaUploadTimeIn(List<Date> values) {
            addCriterion("media_upload_time in", values, "mediaUploadTime");
            return (Criteria) this;
        }

        public Criteria andMediaUploadTimeNotIn(List<Date> values) {
            addCriterion("media_upload_time not in", values, "mediaUploadTime");
            return (Criteria) this;
        }

        public Criteria andMediaUploadTimeBetween(Date value1, Date value2) {
            addCriterion("media_upload_time between", value1, value2, "mediaUploadTime");
            return (Criteria) this;
        }

        public Criteria andMediaUploadTimeNotBetween(Date value1, Date value2) {
            addCriterion("media_upload_time not between", value1, value2, "mediaUploadTime");
            return (Criteria) this;
        }

        public Criteria andMediaDurationIsNull() {
            addCriterion("media_duration is null");
            return (Criteria) this;
        }

        public Criteria andMediaDurationIsNotNull() {
            addCriterion("media_duration is not null");
            return (Criteria) this;
        }

        public Criteria andMediaDurationEqualTo(Date value) {
            addCriterionForJDBCTime("media_duration =", value, "mediaDuration");
            return (Criteria) this;
        }

        public Criteria andMediaDurationNotEqualTo(Date value) {
            addCriterionForJDBCTime("media_duration <>", value, "mediaDuration");
            return (Criteria) this;
        }

        public Criteria andMediaDurationGreaterThan(Date value) {
            addCriterionForJDBCTime("media_duration >", value, "mediaDuration");
            return (Criteria) this;
        }

        public Criteria andMediaDurationGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("media_duration >=", value, "mediaDuration");
            return (Criteria) this;
        }

        public Criteria andMediaDurationLessThan(Date value) {
            addCriterionForJDBCTime("media_duration <", value, "mediaDuration");
            return (Criteria) this;
        }

        public Criteria andMediaDurationLessThanOrEqualTo(Date value) {
            addCriterionForJDBCTime("media_duration <=", value, "mediaDuration");
            return (Criteria) this;
        }

        public Criteria andMediaDurationIn(List<Date> values) {
            addCriterionForJDBCTime("media_duration in", values, "mediaDuration");
            return (Criteria) this;
        }

        public Criteria andMediaDurationNotIn(List<Date> values) {
            addCriterionForJDBCTime("media_duration not in", values, "mediaDuration");
            return (Criteria) this;
        }

        public Criteria andMediaDurationBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("media_duration between", value1, value2, "mediaDuration");
            return (Criteria) this;
        }

        public Criteria andMediaDurationNotBetween(Date value1, Date value2) {
            addCriterionForJDBCTime("media_duration not between", value1, value2, "mediaDuration");
            return (Criteria) this;
        }

        public Criteria andMediaTypeIsNull() {
            addCriterion("media_type is null");
            return (Criteria) this;
        }

        public Criteria andMediaTypeIsNotNull() {
            addCriterion("media_type is not null");
            return (Criteria) this;
        }

        public Criteria andMediaTypeEqualTo(Integer value) {
            addCriterion("media_type =", value, "mediaType");
            return (Criteria) this;
        }

        public Criteria andMediaTypeNotEqualTo(Integer value) {
            addCriterion("media_type <>", value, "mediaType");
            return (Criteria) this;
        }

        public Criteria andMediaTypeGreaterThan(Integer value) {
            addCriterion("media_type >", value, "mediaType");
            return (Criteria) this;
        }

        public Criteria andMediaTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("media_type >=", value, "mediaType");
            return (Criteria) this;
        }

        public Criteria andMediaTypeLessThan(Integer value) {
            addCriterion("media_type <", value, "mediaType");
            return (Criteria) this;
        }

        public Criteria andMediaTypeLessThanOrEqualTo(Integer value) {
            addCriterion("media_type <=", value, "mediaType");
            return (Criteria) this;
        }

        public Criteria andMediaTypeIn(List<Integer> values) {
            addCriterion("media_type in", values, "mediaType");
            return (Criteria) this;
        }

        public Criteria andMediaTypeNotIn(List<Integer> values) {
            addCriterion("media_type not in", values, "mediaType");
            return (Criteria) this;
        }

        public Criteria andMediaTypeBetween(Integer value1, Integer value2) {
            addCriterion("media_type between", value1, value2, "mediaType");
            return (Criteria) this;
        }

        public Criteria andMediaTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("media_type not between", value1, value2, "mediaType");
            return (Criteria) this;
        }

        public Criteria andMediaLikeIsNull() {
            addCriterion("media_like is null");
            return (Criteria) this;
        }

        public Criteria andMediaLikeIsNotNull() {
            addCriterion("media_like is not null");
            return (Criteria) this;
        }

        public Criteria andMediaLikeEqualTo(Integer value) {
            addCriterion("media_like =", value, "mediaLike");
            return (Criteria) this;
        }

        public Criteria andMediaLikeNotEqualTo(Integer value) {
            addCriterion("media_like <>", value, "mediaLike");
            return (Criteria) this;
        }

        public Criteria andMediaLikeGreaterThan(Integer value) {
            addCriterion("media_like >", value, "mediaLike");
            return (Criteria) this;
        }

        public Criteria andMediaLikeGreaterThanOrEqualTo(Integer value) {
            addCriterion("media_like >=", value, "mediaLike");
            return (Criteria) this;
        }

        public Criteria andMediaLikeLessThan(Integer value) {
            addCriterion("media_like <", value, "mediaLike");
            return (Criteria) this;
        }

        public Criteria andMediaLikeLessThanOrEqualTo(Integer value) {
            addCriterion("media_like <=", value, "mediaLike");
            return (Criteria) this;
        }

        public Criteria andMediaLikeIn(List<Integer> values) {
            addCriterion("media_like in", values, "mediaLike");
            return (Criteria) this;
        }

        public Criteria andMediaLikeNotIn(List<Integer> values) {
            addCriterion("media_like not in", values, "mediaLike");
            return (Criteria) this;
        }

        public Criteria andMediaLikeBetween(Integer value1, Integer value2) {
            addCriterion("media_like between", value1, value2, "mediaLike");
            return (Criteria) this;
        }

        public Criteria andMediaLikeNotBetween(Integer value1, Integer value2) {
            addCriterion("media_like not between", value1, value2, "mediaLike");
            return (Criteria) this;
        }

        public Criteria andMediaStatusIsNull() {
            addCriterion("media_status is null");
            return (Criteria) this;
        }

        public Criteria andMediaStatusIsNotNull() {
            addCriterion("media_status is not null");
            return (Criteria) this;
        }

        public Criteria andMediaStatusEqualTo(Integer value) {
            addCriterion("media_status =", value, "mediaStatus");
            return (Criteria) this;
        }

        public Criteria andMediaStatusNotEqualTo(Integer value) {
            addCriterion("media_status <>", value, "mediaStatus");
            return (Criteria) this;
        }

        public Criteria andMediaStatusGreaterThan(Integer value) {
            addCriterion("media_status >", value, "mediaStatus");
            return (Criteria) this;
        }

        public Criteria andMediaStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("media_status >=", value, "mediaStatus");
            return (Criteria) this;
        }

        public Criteria andMediaStatusLessThan(Integer value) {
            addCriterion("media_status <", value, "mediaStatus");
            return (Criteria) this;
        }

        public Criteria andMediaStatusLessThanOrEqualTo(Integer value) {
            addCriterion("media_status <=", value, "mediaStatus");
            return (Criteria) this;
        }

        public Criteria andMediaStatusIn(List<Integer> values) {
            addCriterion("media_status in", values, "mediaStatus");
            return (Criteria) this;
        }

        public Criteria andMediaStatusNotIn(List<Integer> values) {
            addCriterion("media_status not in", values, "mediaStatus");
            return (Criteria) this;
        }

        public Criteria andMediaStatusBetween(Integer value1, Integer value2) {
            addCriterion("media_status between", value1, value2, "mediaStatus");
            return (Criteria) this;
        }

        public Criteria andMediaStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("media_status not between", value1, value2, "mediaStatus");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}